package com.loong.loong.hik.api.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author jinyiang
 * @date 2023/3/10 15:42
 */
@Data
@ApiModel(value = "重点人员识别计划实体类")
public class HikPeopleIdentifyDto {

	private static final long serialVersionUID = 1L;
	@TableId(value = "id", type = IdType.ASSIGN_ID)
	private Long id;
	/**
	 * 识别计划唯一标识
	 */
	private String indexCode;
	@ApiModelProperty(value = "计划名称")
	private String name;
	@ApiModelProperty(value = "人脸分组索引代码列表")
	private List<String> faceGroupIndexCodes;
	@ApiModelProperty(value = "摄像头索引代码列表")
	private List<String> cameraIndexCodes;
	@ApiModelProperty(value = "识别资源索引代码列表")
	private List<String> recognitionResourceIndexCodes;
	@ApiModelProperty(value = "识别资源类型")
	private String recognitionResourceType;
	@ApiModelProperty(value = "描述信息")
	private String description;
	@ApiModelProperty(value = "相似度阈值")
	private int threshold;
	@ApiModelProperty(value = "时间段列表")
	private List<TimeBlock> timeBlockList;
	/**
	 * 时间段类
	 */
	@Data
	@ApiModel(value = "时间段类")
	public static class TimeBlock {

		@ApiModelProperty(value = "星期几，1-7 分别表示周一到周日")
		private String dayOfWeek;
		@ApiModelProperty(value = "时间范围列表")
		private List<TimeRange> timeRangeList;
		@Data
		@ApiModel(value = "时间范围类")
		public static class TimeRange {
			@ApiModelProperty(value = "开始时间，格式为 HH:mm")
			private String startTime;
			@ApiModelProperty(value = "结束时间，格式为 HH:mm")
			private String endTime;
		}
	}
}
